home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / fuse / fuse_lowlevel_compat.h < prev    next >
C/C++ Source or Header  |  2006-05-11  |  4KB  |  94 lines

  1. /*
  2.     FUSE: Filesystem in Userspace
  3.     Copyright (C) 2001-2006  Miklos Szeredi <miklos@szeredi.hu>
  4.  
  5.     This program can be distributed under the terms of the GNU LGPL.
  6.     See the file COPYING.LIB.
  7. */
  8.  
  9. /* these definitions provide source compatibility to prior versions.
  10.    Do not include this file directly! */
  11.  
  12. struct fuse_lowlevel_ops_compat25 {
  13.     void (*init) (void *userdata);
  14.     void (*destroy) (void *userdata);
  15.     void (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name);
  16.     void (*forget) (fuse_req_t req, fuse_ino_t ino, unsigned long nlookup);
  17.     void (*getattr) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi);
  18.     void (*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,
  19.                      int to_set, struct fuse_file_info *fi);
  20.     void (*readlink) (fuse_req_t req, fuse_ino_t ino);
  21.     void (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,
  22.                    mode_t mode, dev_t rdev);
  23.     void (*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,
  24.                    mode_t mode);
  25.     void (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name);
  26.     void (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name);
  27.     void (*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,
  28.                      const char *name);
  29.     void (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,
  30.                     fuse_ino_t newparent, const char *newname);
  31.     void (*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,
  32.                   const char *newname);
  33.     void (*open) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi);
  34.     void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,
  35.                   struct fuse_file_info *fi);
  36.     void (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,
  37.                    size_t size, off_t off, struct fuse_file_info *fi);
  38.     void (*flush) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi);
  39.     void (*release) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi);
  40.     void (*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,
  41.                    struct fuse_file_info *fi);
  42.     void (*opendir) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi);
  43.     void (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,
  44.                      struct fuse_file_info *fi);
  45.     void (*releasedir) (fuse_req_t req, fuse_ino_t ino,
  46.                         struct fuse_file_info *fi);
  47.     void (*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,
  48.                       struct fuse_file_info *fi);
  49.     void (*statfs) (fuse_req_t req);
  50.     void (*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,
  51.                       const char *value, size_t size, int flags);
  52.     void (*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,
  53.                       size_t size);
  54.     void (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size);
  55.     void (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);
  56.     void (*access) (fuse_req_t req, fuse_ino_t ino, int mask);
  57.     void (*create) (fuse_req_t req, fuse_ino_t parent, const char *name,
  58.                     mode_t mode, struct fuse_file_info *fi);
  59. };
  60.  
  61. struct fuse_session *fuse_lowlevel_new_compat25(struct fuse_args *args,
  62.                         const struct fuse_lowlevel_ops_compat25 *op,
  63.                         size_t op_size, void *userdata);
  64.  
  65. size_t fuse_dirent_size(size_t namelen);
  66.  
  67. char *fuse_add_dirent(char *buf, const char *name, const struct stat *stbuf,
  68.                       off_t off);
  69.  
  70. #ifndef __FreeBSD__
  71.  
  72. #include <sys/statfs.h>
  73.  
  74. struct fuse_file_info_compat {
  75.     int flags;
  76.     unsigned long fh;
  77.     int writepage;
  78.     unsigned int direct_io : 1;
  79.     unsigned int keep_cache : 1;
  80. };
  81.  
  82. int fuse_reply_statfs_compat(fuse_req_t req, const struct statfs *stbuf);
  83.  
  84. int fuse_reply_open_compat(fuse_req_t req,
  85.                            const struct fuse_file_info_compat *fi);
  86.  
  87. struct fuse_session *fuse_lowlevel_new_compat(const char *opts,
  88.                                               const struct fuse_lowlevel_ops *op,
  89.                                               size_t op_size, void *userdata);
  90.  
  91. int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size);
  92.  
  93. #endif /* __FreeBSD__ */
  94.